//更靠谱的unique_ptr
//原理：简单粗暴 -- 防拷贝
//template<class T>
//class Unique_ptr
//{
//public:
//	Unique_ptr(T* ptr=nullptr):ptr_(ptr)
//	{
//
//	}
//	T* operator*()
//	{
//		return ptr_;
//	}
//	T& operator->()
//	{
//		return *ptr_;
//	}
//
//	Unique_ptr(const Unique_ptr<T>& other) = delete;//把拷贝构造和赋值运算重载删除
//	Unique_ptr<T>& operator=(const Unique_ptr<T>& other)=delete;
//	~Unique_ptr()
//	{
//		if (ptr_)
//		{
//			delete ptr_;
//			ptr_ = nullptr;
//		}
//	}
//private:
//	T* ptr_;
//};
//struct Date
//{
//	int year;
//	int mon;
//};
//int main()
//{
//	Unique_ptr<Date>other_ptr(new Date);
//
//	Unique_ptr<Date>p(other_ptr);//会报错
//	p = new Date;
//	
//}